package com.yytek.nmp.mapper;

import java.util.List;
import com.yytek.nmp.domain.IotDeviceGroup;

/**
 * 设备分组Mapper接口
 * 
 * @author yytek-iot
 * @date 2022-07-05
 */
public interface IotDeviceGroupMapper 
{
    /**
     * 查询设备分组
     * 
     * @param id 设备分组主键
     * @return 设备分组
     */
    public IotDeviceGroup selectIotDeviceGroupById(Long id);

    /**
     * 查询设备分组列表
     * 
     * @param iotDeviceGroup 设备分组
     * @return 设备分组集合
     */
    public List<IotDeviceGroup> selectIotDeviceGroupList(IotDeviceGroup iotDeviceGroup);

    /**
     * 新增设备分组
     * 
     * @param iotDeviceGroup 设备分组
     * @return 结果
     */
    public int insertIotDeviceGroup(IotDeviceGroup iotDeviceGroup);

    /**
     * 修改设备分组
     * 
     * @param iotDeviceGroup 设备分组
     * @return 结果
     */
    public int updateIotDeviceGroup(IotDeviceGroup iotDeviceGroup);

    /**
     * 删除设备分组
     * 
     * @param id 设备分组主键
     * @return 结果
     */
    public int deleteIotDeviceGroupById(Long id);

    /**
     * 批量删除设备分组
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteIotDeviceGroupByIds(Long[] ids);

    /**
     * 根据项目id批量删除设备分组
     * @param ids 项目id集合
     * @return
     */
    public int deleteIotDeviceGroupByProjectIds(Long[] ids);

    /**
     * 根据项目id和项目名称查询分组
     * @param iotDeviceGroup
     * @return
     */
    List<IotDeviceGroup> selectDeviceGroupByProjetIdAndName(IotDeviceGroup iotDeviceGroup);
    /**
     * 根据项目id和项目名称查询不是本id的其他分组
     * @param iotDeviceGroup
     * @return
     */
    List<IotDeviceGroup> selectDeviceGroupByProjetIdAndNameNoThis(IotDeviceGroup iotDeviceGroup);
}
